package com.rzcode.coinex.kernel.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.rzcode.coinex.kernel.common.enums.BooleanEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;


/**
 * 会员应用配置实体类，用于存储会员应用的各项功能开关设置。
 */
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "member_application_config")
public class MemberApplicationConfig {

    /**
     * 配置ID，主键，自动生成的唯一标识。
     */
    @ApiModelProperty(value = "配置ID", required = true, example = "1")
    private Long id;

    /**
     * 提币开关，是否允许会员提币。
     * <p>
     * 0 - 关闭
     * 1 - 开启
     */
    @ApiModelProperty(value = "提币开关", required = true, example = "true")
    private BooleanEnum withdrawCoinOn = BooleanEnum.IS_TRUE;

    /**
     * 充值开关，是否允许会员充值。
     * <p>
     * 0 - 关闭
     * 1 - 开启
     */
    @ApiModelProperty(value = "充值开关", required = true, example = "true")
    private BooleanEnum rechargeCoinOn = BooleanEnum.IS_TRUE;

    /**
     * 推广开关，是否允许会员参与推广活动。
     * <p>
     * 0 - 关闭
     * 1 - 开启
     */
    @ApiModelProperty(value = "推广开关", required = true, example = "true")
    private BooleanEnum promotionOn = BooleanEnum.IS_TRUE;

    /**
     * 交易开关，是否允许会员进行交易。
     * <p>
     * 0 - 关闭
     * 1 - 开启
     */
    @ApiModelProperty(value = "交易开关", required = true, example = "true")
    private BooleanEnum transactionOn = BooleanEnum.IS_TRUE;
}

